package com.shenmazong.manage.service;

import com.shenmazong.manage.entity.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shenmazong.utils.ResultResponse;
import com.shenmazong.vo.*;

/**
 *service Qi
 */
public interface TaskManageService extends IService<TbTaskLayout> {

    ResultResponse saveTaskLayout(TbTaskLayout tbTaskLayout);

    ResultResponse updateTaskLayout(TbTaskLayout tbTaskLayout);

    ResultResponse deleteTaskLayout(BatchChooseIdVo chooseIdVo);

    ResultResponse listTaskLayout(ListParamVo paramVo);

    ResultResponse getTaskLayout(TbTaskLayout tbTaskLayout);

    ResultResponse saveTaskSubmit(TbTaskSubmit tbTaskSubmit);

    ResultResponse deleteTaskSubmit(BatchChooseIdVo chooseIdVo);

    ResultResponse updateTaskSubmit(TbTaskSubmit tbTaskSubmit);

    ResultResponse listTaskSubmit(ListParamVo paramVo);

    ResultResponse getTaskSubmit(TbTaskSubmit tbTaskSubmit);

    ResultResponse listAllMajor(TbMajor tbMajor);

    ResultResponse listStage(ListParamVo paramVo);

    ResultResponse saveTheoryTemplate(TbTaskTheoryTemplate theoryTemplate);

    ResultResponse deleteTheoryTemplate(BatchChooseIdVo chooseIdVo);

    ResultResponse updateTheoryTemplate(TbTaskTheoryTemplate theoryTemplate);

    ResultResponse listTheoryTemplate(ListParamVo paramVo);

    ResultResponse listAllTheoryTemplate();

    ResultResponse listAllStage(BatchChooseIdVo chooseIdVo);

    ResultResponse saveTheoryContent(TheoryContentVo contentVo);

    ResultResponse updateTheoryContent(TbTaskTheoryContent theoryContent);

    ResultResponse getContentByMongo(ContentToMongo content);

    ResultResponse listTaskByClazz(TaskStudentVo studentVo);

    void getTaskLayoutToRedisByTiming();

    ResultResponse getLayoutToRedisById(TbTaskLayout layout);

    ResultResponse startTask(TaskStudentVo taskStudentVo);

    void setTaskStartOrEnd();
}
